#ifndef _LIST_OPERATE_H_
#define _LIST_OPERATE_H_

#include<stdlib.h>
#include<string.h>

/*客户端结点结构体*/
typedef struct Client{
    int connfd;      //客户端套接字描述符
    char name[50];   //客户端名字
    char passwd[20]; //客户端密码
    struct Client *next;
}Client_Node, *Client_List;

/*用户结点结构体*/
typedef struct User{
    char name[20];     //用户名
    char passwd[20];   //密码
    struct User *next;
}User_Node, *User_List;


/*在线用户结点结构体*/
typedef struct Online_User{
    int connfd;        //套接字
    char name[20];     //用户名
    char passwd[20];   //密码
    struct Online_User *next;
}Online_User_Node, *Online_User_List;

/*============================客户端链表操作============================*/
void add_list_client(Client_Node *head, int connfd);
void del_list_client(Client_Node *head, int connfd);

/*============================已注册用户链表操作============================*/
void add_list_user(User_Node *head, char *name, char *passwd);

/*============================在线用户链表操作============================*/
void add_list_online_user(Online_User_Node *head, int connfd, char *name, char *passwd);
void del_list_online_user(Online_User_Node *head, int connfd);


#endif // !_LIST_OPERATE_H_

